package com.amoyt.project.service.visitor;

import com.amoyt.project.domain.dto.VisitorLoginDto;
import com.amoyt.project.domain.dto.update.VisitorUpdateDto;
import com.amoyt.project.domain.res.Result;

/**
 * @Date: 2025/8/10
 * @Time: 20:37
 * @Author: TQ_QT
 * @Description: 访客服务接口
 */
public interface VisitorService {
    /**
     * 获取手机验证码
     * @param phone 手机号
     * @return
     */
    Result getPhoneCode(String phone);

    /**
     * 访客注册 与登录公用一个dto
     * @param visitorLoginDto
     * @return
     */
    Result register(VisitorLoginDto visitorLoginDto);

    /**
     * 访客登录
     * @param visitorLoginDto 登录信息
     * @return
     */
    Result login(VisitorLoginDto visitorLoginDto);

    /**
     * 更新访客信息
     * @return
     */
    Result update(VisitorUpdateDto visitorUpdateDto);

    /**
     * 获取当前登录的访客信息
     * @return
     */
    Result getOwnInfo();

    /**
     * 验证码校验
     * @param phone 手机号
     * @param code 验证码
     * @return
     */
    Result verify(String phone, String code);

    /**
     * 登出
     * @return
     */
    Result logout();
}
